package com.gaff.emp.core.modules.perm.service;

import com.gaff.emp.core.PageR;
import com.gaff.emp.core.modules.auth.LoginUserInfo;
import com.gaff.emp.core.modules.perm.controller.user.form.StatusForm;
import com.gaff.emp.core.modules.perm.controller.user.form.UpdateForm;
import com.gaff.emp.core.modules.perm.entity.SysUser;
import com.gaff.emp.core.modules.perm.controller.user.form.CreateForm;
import com.gaff.emp.core.modules.perm.controller.user.form.PasswordForm;

import java.util.List;
import java.util.Map;


public interface SysUserService {

    SysUser queryByUserName(String username);

    SysUser queryById(Integer id);

    List<SysUser> queryByRoleId(Integer roleId);

    void updatePassword(LoginUserInfo userInfo, PasswordForm form);

    PageR queryUsersByPage(Map<String, Object> params);

    void createUser(CreateForm form);

    void enableOrDisableUser(StatusForm form);

    void updateUser(UpdateForm form);

    void deleteById(Integer id);

}
